# -*- conding:utf-8 -*-

print("*"*45, "第一种", "*"*45)

x = 1
while x < 10:
    y = 1
    while y <= x:
        print("{}*{} = {:<4}".format(y, x, x*y), end=" ")
        y += 1
        # 先循环打印出 y * x ，在 y + 1 ，y内层循环结束在执行 x 的循环
        # x + 1 ，之前换行
    print("")
    x += 1

print("*"*45, "第二种", "*"*45)

x = 9
while x > 0:
    y = 1
    while y < x+1:
        print("{}*{} ={:<4}".format(y, x, x*y), end=" ")
        y += 1
        # 先循环打印出 y * x ，在 y + 1 ，y内层循环结束在执行 x 的循环
        # x - 1 ，之前换行
    print("")
    x -= 1

print("*"*45, "第三种", "*"*45)

x = 1
while x < 10:
    z = 1
    while z <= 9-x:
        print(end="           ")
        z += 1
        # 打印第一行前，先按照第二种的九九乘法表位置打印空格
    y = x
    while y > 0:
        print("{}*{} = {:<4}".format(x, y, x*y), end=" ")
        y -= 1
        # 先循环打印出 x * y ，在 y - 1 ，y内层循环结束在执行 x 的循环
        # x + 1 ，之前换行
    print("")
    x += 1

print("*"*45, "第四种", "*"*45)

x = 9
while x > 0:
    z = 1
    while z <= 9-x:
        print(end="           ")
        z += 1
        # 打印第一行前，先按照第一种的九九乘法表位置打印空格
    y = x
    while y > 0:
        print("{}*{} = {:<4}".format(y, x, x*y), end=" ")
        y -= 1
        # 先循环打印出 y * x ，在 y - 1 ，y内层循环结束在执行 x 的循环
        # x - 1 ，之前换行
    print("")
    x -= 1
